perm filename LARRY[1,JMC] blob
sn#005251 filedate 1970-08-06 generic text, type T, neo UTF8
00005 STANFORD UNIVERSITY
00020 Stanford, California 94305
00035
00040 August 6, 1970
00042
00050 COMPUTER SCIENCE DEPARTMENT Telephone 415/321-2300
00065 extension 4971
00080
00082 Dr. Lawrence G. Roberts
00084 Director of Information Processing Techniques
00086 ARPA
00088 Department of Defense
00090 Washington, D.C. 20301
00092
00100 Dear Larry:
00200
00300 As you may have heard, there is considerable enthusiasm here
00400 at Stanford to build a high speed computer, called Super Foonly. This
00500 enthusiasm has several bases:
00600
00700 1. A conviction on the part of several ARPA users that while
00800 the PDP-10 has been fine up to now, a much faster processor will soon
00900 be required, and that D.E.C.'s current plans for the PDP-10I are just
01000 not good enough. Gordon Bell and I andĪ the people at project MAC
01100 have independently come to that conclusion.
01200
01300 2. The computer capacity crisis is especially acute here at
01400 Stanford, because the main picture processing programs associated
01500 with the Hand-Eye Project are just coming into production use.
01600
01700 3. There is a belief that certain operations that occur in
01800 compiling (text scan, hash table entry and lookup), picture
01900 processing (edge finding and other local operators), and list
02000 processing (garbage collection, car-cdr chain, cons, pattern
02100 matching, and hash addressing) could be much better carried out in a
02200 machine that has some special facilities for them.
02300
02400 4. Last, but confessedly not least, some of our people, D.
02500 Poole, P. Petit, E. McGuire, and J. Gleason, are eager to build a
02600 suitable computer, and Les and I have become convinced that they can
02700 really do it.
02800
02900 5. The availability of 40 nanosecond access cache memories
03000 from Cogar and other firms makes possible 10 times the speed of the
03100 PDP-10 without too much hair. The new 3 nanosecond TTL using
03200 Schottky diodes that Texas Instruments has announced will also help
03300 but is not crucial. Simulation shows that cache memories a la IBM
03400 360 model 85 really work.
03500
03600 The Super Foonly project has the following features:
03700
03800 1. The computer will obey PDP-10 instructions, plus
03900 additional instructions built out of user accessible micro-code. In
04000 fact, the PDP-10 instructions themselves will be built from the same
04100 micro-code.
04200
04300 2. The design goal will be a machine 10 times as fast as the
04400 PDP-10 on most instruction mixes.
04500
04600 3. The processor will be build out of the newly announced
04700 Texas Instruments series of 3 nanosecond TTL, certain available MSI
04800 chips for arithmetic operations and accumulators, and a 40 nanosecond
04900 access Cogar memory for the cache, the micro-program memory, and the
05000 paging memory.
05100
05200 4. The console of Super Foonly will be a small computer with
05300 a display, e.g. an IMLAC. The console computer will be able to read
05400 and change the contents of the main computer directly. This will
05500 greatly aid the debugging and maintenance of the main computer.
05600
05700 5. It is proposed to complete the design this fall, order
05800 parts about January 1, 1971, and complete the debugging and
05900 attachment to the Stanford system in the Spring and Summer of 1971.
06000
06100 6. A drawing program, several levels of simulation on our
06200 present system, and programs for preparing wire lists, and checking
06300 the correspondence between the PC board layout and the circuit
06400 drawings and checking loading rules will be used.
06500
06600 7. The total of purchase orders including, ICs, PC boards,
06700 automatic wiring, power supplies, and cabinetry for the computer
06800 willl be slightly less than $100K. By using its equipment budget,
06900 the Stanford AI Project could complete the machine without a contract
07000 change since we already have a suitable console computer and adequate
07100 air conditioning. This is not the most desirable procedure, however,
07200 since we really do need other hardware.
07300
07400 8. We would like your blessing to proceed with this project,
07500 and, if possible, the additional $100K needed for purchase orders.
07600
07700 9. Since there will undoubtedly be misgivings on your part,
07800 we propose the following checkpoints:
07900
08000 a. At the completion of the design, there will be complete
08100 drawings, and before any hardware is ordered, we propose an outside
08200 review of the design, to be sure it will really work. Gordon Bell,
08300 who has already spent a day with us, has agreed to do this.
08400
08500 b. Somewhat earlier, perhaps in the middle of September, we
08600 propose an outside review of the user micro-programming features and
08700 the demonstration operations we have codeed in them, to be sure that
08800 the machine really permits useful operations at a good speed level.
08900
09000 Here are some real and imagined objections to the Project
09100 that I would like to try to refute:
09200
09300 1. "Universities should not build computers." Pooh.
09400
09500 2. "Industry will produce a good enough computer all by
09600 itself." D.E.C. will not produce a fast enough computer soon enough
09700 without the prodding represented by this project. If there is no
09800 fast enough computer compatible with the PDP-10, by the time the ARPA
09900 projects need them, there will be vast programming costs involved in
10000 a scramble to a variety of incompatible machines.
10100
10200 3. "The project is not very original, and it would be better
10300 and more interesting to design specialized computers for applications
10400 like picture processing and list processing." There are several
10500 answers to this:
10600
10700 a. It is better to have a good computer than an
10800 original computer. In fact, an original computer serves only to
10900 discredit its good ideas if it is not also a good computer. At
11000 present, this means the computer must have a good time sharing system
11100 with a full complement of languages and other user services. The
11200 micro-programming features of Super Foonly will permit the testing of
11300 new ideas for fast picture and list processing by a large population
11400 of users whose interests are in the applications rather than just in
11500 system design.
11600
11700 b. The use of a mini-computer as a console, the specific
11800 forms of interactive design automation planned, and the form of the
11900 user micro-coding are new. In particular, the micro-coding is
12000 designed for supplementing an already good order code rather than for
12100 emulating obsolete machines.
12200
12300 4. "The Stanford group may not be able to carry out the
12400 project in anything like the projected time or budget." I have
12500 confidence in the group, and we propose an outside review of the
12600 design before any purchases are made.
12700
12800 5. "The project will divert the attention of the Stanford AI
12900 Project from its main work in artificial intelligence and
13000 mathematical theory of computation." The people who would be involved
13100 in Super Foonly have done system programming (they are responsible
13200 for some of our time-sharing system and the FAIL assembler which is
13300 in fairly widespread use outside our project) and hardware design.
13400 (They interfaced our disk, core memorry, TV cameras, displays and
13500 other devices). At present, our hardware and software work quite
13600 well but we are in a bind on compute capacity so the project makes
13700 sense as a continuation of the activities of our hardware and system
13800 group.
13900
14000 We would like to meet with you and present our plans orally,
14100 and Gordon Bell has agreed to come to Washington with us. We propose
14200 the week of August 24, since Gordon will be away until that time, and
14300 D. Poole and friends need some more time to plan and to make firmer
14400 their estimates of time, performance and costs. Besides ARPA people,
14500 we would propose that the meeting include Gordon Bell, Dave Poole,
14600 and me, and possibly Les.
14700
14800 Before proceeding much further we need your blessing. This
14900 blessing may, of course, be dependent on the project passing
15000 technical check points as determined by outside reviewers.
15100
15200 Incidentally, the following have already been done:
15300
15400 1. The basic design of the three units of the processor (the
15500 cache box, the instruction preparation box, and the execution box)
15600 has been carried to the point of register and data path
15700 specification. Approximate counts of the number of DIPs for the
15800 various functions have been made and conservative timings have been
15900 calculated. This design has already undergone several iterations.
16000
16100 2. An interpreter of PDP-10 instructions has been written and
16200 used to determine the speed of a variety of PDP-10 programs run with
16300 various assumptions about the cache use algorithm, main memory speed,
16400 and minor cycle of the machine. The program has been tested on such
16500 programs as the LISP compiler, the LISP interpreter, compiled LISP
16600 code, the SAIL compiler, and compiled SAIL code. The worst case from
16700 the point of view of the percentage of cache hits which determines
16800 the speed of the machine was the LISP compiler which got 94% hits
16900 with a 2K cache.
17000
17100 3. A drawing program has been written and demonstrated with
17200 part of the features we want.
17300
17400 4. Samples of the circuitry we intend to use have been
17500 obtained and tested in variety of conditions of loading, wire length,
17600 noise and cross-talk conditions. Much more of this is being done.
17700
17800 5. A group of AI project people are beginning to check out
17900 the suitability of the proposed micro-program feature for list
18000 processing, LEAP operations, picture processing, and some other
18100 operations.
18200
18300 6. Various experts have been consulted and their ideas and
18400 blessing solicited.
18500
18600 Sincerely yours,
18700
18800
18900
19000 John McCarthy
19100
19200 P.S. Let me emphasize that the ideas in the machine and the
19300 initiative for starting it come from D. Poole and our other young
19400 hardware and software people. Two years ago, I suppressed Poole's
19500 proposal to build a computer, but this time we are confident that
19600 their proposal is the best way of meeting our computer needs and will
19700 make a definite contribution to the state of the art. We hope to
19800 transfer this confidence to you.
19900
20000 P.P.S. In the last few days, a better simulation that gives for each
20100 instruction the time taken in the I and E boxes of the machine has
20200 been run. The design "minimum" of ten times the speed of the PDP-10
20300 seems to be confirmed.